Amplify Console のカスタムドメインで www 付きドメインへのリダイレクトが勝手に設定されてしまう時の対処方法
困っていた内容
Amplify Console でドメイン管理からカスタムドメインを設定しており、Zone Apex を設定すると、www 付きドメインにリダイレクトする設定が自動で追加されてしまいます。
www にリダイレクトしないようにする方法を教えて下さい。
どう対応すればいいの?
Amplify Console でカスタムドメインを設定する際に、Route53 へ事前にドメインが登録されている場合は、Amplify がドメインの Zone Apex と www サブドメインを指定するように自動的に設定を行います。
そのため、カスタムドメイン登録の際に、www サブドメインへのリダイレクトルールが含まれた状態で登録された可能性があります。
Q: カスタムドメインに接続するにはどうすれば良いですか? Route53 にドメインが登録されている場合、ドロップダウンから選択するだけで、AWS Amplify は、DNS レコードがウェブサイトの apex と "www" サブドメインを指定するよう自動的に設定を行います。さらに、接続されているすべてのブランチに自動的にサブドメインを作成します。
上述の理由から、www サブドメインへのリダイレクトを停止するためには、Amplify のマネージメントコンソールから該当のリダイレクトルールを選択して削除ください。
また、www サブドメインが Amplify Console のカスタムドメインとして不要な場合は、「Domain management」のコンソールから削除することで、Amplify が自動的に www サブドメインを Route53 から削除します。
やってみた
前提
以下が、完了していることを前提にします。
- アプリケーション作成
- アプリケーションを Amplify Console でホスト
Route53 でゾーン作成
事前に Amplify のカスタムドメインとして登録したいドメインを作成しておきます。
カスタムドメインの作成
Amplify のマネージメントコンソール「ドメイン管理」の画面で、「カスタムドメインの追加」をクリックします。
ドメイン検索のプルダウンから、事前に Route53 へ登録したドメインを選択します。
すると、サブドメインの欄に、www 付きのドメインが自動で指定されます。
画面下部で、以下のメッセージが表示されている箇所にチェックボックスがついています。
チェックボックスがついた状態で保存をすると、www へのリダイレクトルールが登録されます。
Setup redirect from https://nakano.an.classmethod.info to https://www.nakano.an.classmethod.info You can edit these settings in the 'Rewrites and redirects' page.
リダイレクトルールが作成されていることを確認
curl で登録したドメインの Zone Apex へリクエストすると、www 付きのサブドメインにリダイレクトされることを確認します。
$ curl -i https://nakano.an.classmethod.info HTTP/2 302 content-length: 0 location: https://www.nakano.an.classmethod.info/ server: CloudFront date: Thu, 14 Oct 2021 08:46:43 GMT x-cache: Miss from cloudfront via: 1.1 f3d34762a17138affa7e1595de182cfc.cloudfront.net (CloudFront) x-amz-cf-pop: NRT57-C2 x-amz-cf-id: AGSbnlYXnofnyGEOvZoBsx5sNhCKoy1x_e6w_C73U8MSpERUQbXdIA==
リダイレクトしないように修正
それでは、Amplify からリダイレクトルールを削除します。
また、www 付きのサブドメインが不要のときは、ドメイン管理の画面から削除します。
暫く経つと、Route53 から www 付きのドメインが削除されます。
curl で、www へのリダイレクトがされなくなったことを確認します。
$ curl -I https://nakano.an.classmethod.info HTTP/2 200 content-type: text/html content-length: 3046 date: Thu, 14 Oct 2021 08:49:12 GMT last-modified: Mon, 11 Oct 2021 07:14:41 GMT etag: "8ce988924aaedb0cfd771112d76b316b" x-amz-server-side-encryption: AES256 accept-ranges: bytes server: AmazonS3 cache-control: public, max-age=0, s-maxage=2 vary: Accept-Encoding x-cache: Miss from cloudfront via: 1.1 11a8926e793e8500f945a5261bce0bd7.cloudfront.net (CloudFront) x-amz-cf-pop: NRT57-C2 x-amz-cf-id: IFO1WJFqiPMmwy-vTmTk9bKDWeAxA-Yn2OTHXkvyHiYsXICbaDq0Zw==